home *** CD-ROM | disk | FTP | other *** search
/ PC Electronic Plus / PC Electronics Plus (Most Significant Bits)(1995).ISO / tiny / tdca.doc < prev    next >
Text File  |  1991-06-29  |  11KB  |  306 lines

  1.  
  2.  
  3.  
  4.                           Tiny Digital Circuit Analysis
  5.  
  6.                                    Version 1.1
  7.                             Written by: M. W. Correa
  8.  
  9.  
  10.  
  11.  
  12.         General
  13.  
  14.           Tiny Digital Circuit Analysis (TDCA) is a shareware program
  15.         that allows a student or engineer to simulate a small digital
  16.         circuit design.  This program allows one to enter a digital
  17.         circuit design by entering each device type and its connections.
  18.         Then the circuit can be evaluated with entered inputs.  The
  19.         circuit can also be graphically displayed with all of its cir-
  20.         cuit/device input/output values displayed.  This graphic display
  21.         is very helpful for finding race conditions and observing inter-
  22.         nal circuit states.
  23.  
  24.           I originally wrote this program to evaluate solutions to home-
  25.         work problems I had in a digital design class.  The particular
  26.         circuit types that begged for simulation were the finite state
  27.         machine problems.  A common complication that occurs when design-
  28.         ing state machines is the occurrence of race conditions.  There-
  29.         fore I wrote this program with the idea of spotting any race
  30.         conditions.  This is accomplished by evaluating all devices at
  31.         one time, therefore all inputs to the devices are updated and
  32.         frozen and then all the gates are evaluated and their outputs are
  33.         updated.  In the case of one device's output feeding the input of
  34.         another device, you may see a different value on the output of
  35.         the feeding device than the input of the receiving device.  The
  36.         next evaluation step will update the input to reflect the output
  37.         from the feeding device.  Each device is assumed to have the same
  38.         propagation delay (not realistic).
  39.  
  40.           In the spirit of shareware software please try this program.
  41.         If you intend on using this program please become a registered
  42.         user.  If you have any comments on this program please let me
  43.         know, I will be glad to enhance this program, if there is enough
  44.         interest expressed in it.
  45.  
  46.  
  47.         Hardware Requirements
  48.  
  49.           TDCA runs on IBM PCs and compatibles with 128K of free RAM and
  50.         a CGA, EGA or VGA graphics card/display.  Up to 100 devices can
  51.         be simulated, although the Show command is limited by how many
  52.         devices can be placed on the screen at one time.
  53.  
  54.  
  55.         Program Operation
  56.  
  57.           The menu structure is the very common command line type (i.e.
  58.         Lotus 123).  The program uses hot keys for commands, therefore,
  59.  
  60.  
  61.                                         1
  62.  
  63.  
  64.  
  65.         just press the first letter of the command you would like to
  66.         execute.  Circuit Input data is entered with hot keys 0 and 1.
  67.         While building a new circuit no hot keys are used, the data
  68.         should be entered and the Enter key must be pressed.
  69.  
  70.  
  71.         Program Commands
  72.  
  73.         New - Clears the current circuit and proceeds to build a new
  74.              circuit.
  75.  
  76.         Inputs - Quarries for new input values for the circuit.
  77.  
  78.         Alter - Allows the user to change the current circuit.  It is a
  79.              good idea to save the circuit before using this option.  It
  80.              is very easy to goof-up.
  81.  
  82.         Evaluate - The inputs of each device in the circuit are updated
  83.              and then the devices are evaluated and outputs are updated.
  84.  
  85.         Clock - The clock signal is set high, all devices that are fed
  86.              the clock are evaluated, the clock is set low and the whole
  87.              circuit is then evaluated.
  88.  
  89.         Gates - Text display of the circuit's gates, detailing each input
  90.              connection and each I/O state.
  91.  
  92.         Show - Graphical display of the circuit with the current I/O
  93.              state of each device.  New circuits will require the place-
  94.              ment of each device.  The program will ask for an X and Y
  95.              coordinate for each device.  The program automatically
  96.              routes the interconnect.  Care should be exercised while
  97.              placing devices to avoid the routing of the interconnect
  98.              over devices (overlaps cause no problems, but looks bad).
  99.              The auto-routing feature could use more smarts, but my
  100.              efforts were applied else where.
  101.  
  102.         Truth - Text display of a truth table, good for non-feedback
  103.              combinational logic.
  104.  
  105.         File - Allows loading and saving of circuits.  Do not use the
  106.              file extension and do use proper DOS filenames (8 characters
  107.              maximum, etc.).  The file extension of DCA is automatically
  108.              assigned.
  109.  
  110.         Quit - Leaves the program WITHOUT saving anything.
  111.  
  112.  
  113.         Device Types
  114.  
  115.         The devices supported by this program are:
  116.  
  117.         AND Gate - Two to eight inputs, one output.
  118.  
  119.         OR Gate - Two to eight inputs, one output.
  120.  
  121.  
  122.                                         2
  123.  
  124.  
  125.  
  126.  
  127.         NAND Gate - Two to eight inputs, one output.
  128.  
  129.         NOR Gate - Two to eight inputs, one output.
  130.  
  131.         XOR Gate (Exclusive OR) - Two inputs, one output.
  132.  
  133.         INVERTER - One input, one output.
  134.  
  135.         D FLIP FLOP - Input one is D, input two is CLK, output one is Q,
  136.              output two is Q-.
  137.  
  138.  
  139.         T FLIP FLOP - Input one is T, input two is CLK, output one is Q,
  140.              output two is Q-.
  141.  
  142.         S R FLIP FLOP - Input one is S, input two is R, input three is
  143.              CLK, output one is Q, output two is Q-.
  144.  
  145.         J K FLIP FLOP - Input one is J, input two is K, input three is
  146.              CLK, output one is Q, output two is Q-.
  147.  
  148.  
  149.         Hints
  150.  
  151.         1.  Before entering the circuit into TDCA draw it on a piece of
  152.         paper.  Then number separately each input, output and device.
  153.  
  154.         2.  Note that the clocks of the flip flops are active high and
  155.         are not edge triggered.
  156.  
  157.         3.  Save your circuit before using Alter or Quitting the program.
  158.  
  159.         4.  When entering a new circuit keep in mind that circuit inputs
  160.         are selected by entering 0 for device number and then the input
  161.         number.  To select the clock for an input enter 0 for device
  162.         number and then 0 for the input number.
  163.  
  164.  
  165.         Future
  166.  
  167.           Recently (6/91) I was designing a digital board that had a
  168.         number of finite state machines and various other subcircuits.
  169.         During the design of this circuit I was interrupted numerous
  170.         times and a number of the interruptions lasted for days.  Since
  171.         this board is on the order of 60 chips, I became concerned that
  172.         the board would not work due to forgotten interdependences.  So,
  173.         I used this program to simulate parts of my design.  And as you
  174.         will discover this program has its limitation, since it was not
  175.         intended to simulate real designs but to simulate the designs you
  176.         do in school (not real world).  So I sought and found a well
  177.         known and expensive simulator, to simulate the board.  Well, this
  178.         $1,000 simulator does support real TTL devices, but it does not
  179.         do much more than TDCA.  The program did not support all the
  180.         chips I used in my design, thus, I was only able to simulate the
  181.  
  182.  
  183.                                         3
  184.  
  185.  
  186.  
  187.         same part I used TDCA to simulate.  Worse yet, the simulator did
  188.         not do timing analysis.  Therefore, real world time delays go
  189.         unaccounted for.  At additional cost, I could buy options for the
  190.         program that will do timing analysis and expanded library sup-
  191.         port, but the cost is higher than the original program cost.
  192.         Thus comes the reason I decided to release this program to the
  193.         shareware world.  I did a search of Compuserve for digital simu-
  194.         lators and found none.  So, I concluded that there is probably a
  195.         demand for a low cost full feature simulator.  The response to
  196.         this program will determine if I will commit the time to write a
  197.         full feature digital simulator, (that's right, to be called
  198.         Digital Circuit Analysis [DCA]).  The new program will be a
  199.         complete re-write and its intended major features will include:
  200.  
  201.         Support the TTL device library.
  202.  
  203.         Timing analysis to include propagation delays.
  204.  
  205.         Import netlist from CAD packages such as ORCAD and Futurenet.*
  206.  
  207.         Logic analyzer type display for signals.
  208.  
  209.           If the response to this program (TDCA) is sufficient, (20 or
  210.         more registered users) I will write DCA.  Registered users of
  211.         TDCA will be invited to be Beta testers for DCA.  (You must
  212.         register for TDCA before the release of DCA to qualify as a Beta
  213.         test site.)
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.         * ORCAD and Futurenet are registered trademarks and are not
  238.         associate with this product.
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                                         4
  245.  
  246.  
  247.  
  248.                                 Registration Form
  249.                           Tiny Digital Circuit Analysis
  250.  
  251.  
  252.           Tiny Digital Circuit Analysis (TDCA) is distributed as share-
  253.         ware.  The program may be distributed freely, provided that the
  254.         entire unmodified ARC file is included and no fee is charged
  255.         other than a nominal amount for media and handling.
  256.  
  257.           The registration fee is $20 US and will provide a single user
  258.         license to use this program (TDCA) without limit.
  259.  
  260.         The $20 fee should be sent to:
  261.  
  262.                                    Mike Correa
  263.                                    2210 Lawnwood Circle
  264.                                    Baltimore MD 21207
  265.  
  266.         Please indicate your interest below.
  267.  
  268.         __ Would like to become a Beta tester for DCA. **
  269.         __ Would like to see DCA developed.
  270.         __ Would like TDCA expanded.  Please give comments below.
  271.  
  272.                   Name:    ___________________________________
  273.  
  274.                   Address: ___________________________________
  275.  
  276.                            ___________________________________
  277.  
  278.         Comments on TDCA:
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.         Comments for DCA (features desired, price range, etc.):
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.         **  DCA will be written contingent upon the response to TDCA or
  301.         other means that will confirm my presumption that there exist a
  302.         demand for a low cost digital simulator.
  303.  
  304.  
  305.                                         5
  306.